package com.lframework.xingyun.basedata.mappers;

import com.lframework.starter.web.core.mapper.BaseMapper;
import com.lframework.xingyun.basedata.entity.Product;
import com.lframework.xingyun.basedata.entity.ProductAssistantUnit;
import com.lframework.xingyun.basedata.vo.product.unit.QueryProductAssistantUnitVo;

import java.util.List;

/**
 * <p>
 * 商品辅助单位表 Mapper 接口
 * </p>
 *
 */
public interface ProductAssistantUnitMapper extends BaseMapper<ProductAssistantUnit> {

    /**
     * 查询列表
     * @param vo
     * @return
     */
    default List<ProductAssistantUnit> query(QueryProductAssistantUnitVo vo) {
        return defaultJoinWrapper()
                .eq(ProductAssistantUnit::getProductId, vo.getProductId())
                .list();
    }

    /**
     *
     * @param productId
     * @return
     */
    default List<ProductAssistantUnit> queryByProductId(String productId) {
        return defaultJoinWrapper()
                .eq(ProductAssistantUnit::getProductId, productId)
                .list();
    }

    default List<ProductAssistantUnit> queryByCodeAndSkuCode(String code, String skuCode) {
        return defaultJoinWrapper()
                .leftJoin(Product.class, Product::getId, ProductAssistantUnit::getAssistantUnitId)
                .eq(Product::getCode, code)
                .eq(Product::getSkuCode, skuCode)
                .list();
    }
}

